# 使用装饰器简化闭包的调用
# 只需要在要调用的函数前加入@+函数名称,意味将这个函数作为参数传入闭包函数中

import time
# 使用闭包实现不修改源代码的前提下修改日志信息
def emailLog(fun):
    with open('./a2.txt','a',encoding='utf-8') as f:
        f.write("调用了:\t")
        f.write(fun.__name__)
        f.write("\t调用时间:{}\n".format(time.asctime()))

def writeOut(fun):
    def writeIn():
        fun()
        emailLog(fun)
        print("调用了"+fun.__name__)
    return writeIn

@writeOut
def fun1():
    print("我是fun1")
@writeOut
def fun2():
    print("我是fun2")

fun1()
fun2()